1. Field of Invention
The present invention relates to a printing system that includes a host computer and a printer that executes a printing process based on print data sent from the host computer, and to a printing control method for the printing system.
2. Description of Related Art
Printing systems that include a host computer and a printer that is communicably connected to the host computer and executes a printing process based on print data sent from the host computer are known from the literature. The printers used in such printing systems include page printers that print by page unit, serial printers that print one character or one dot at a time, and line printers that print by line unit.
Page printers enable printing in page units by generating and storing a print image for one page in an internal image buffer based on the print data sent from the host computer.
When a prescribed amount of print data is received from the host computer, serial printers and line printers generally store the print data in a print buffer by line unit and clear the data in the print buffer when the printing process for one line ends. Serial printers and line printers thus generally do not store print data for an entire page.
When an interrupt event that interrupts execution of the printing process occurs, such as when the paper runs out, a paper jam occurs, or a cover is opened, while the printer is executing a printing process, the printer may clear the print data that was previously received and stored in the image buffer or print buffer and the host computer may clear the remaining print data that has not been sent to the printer as part of the interrupt recovery process. The print data for the part of the printing process following the interrupt is cleared in order to prevent such problems as printing only part of the print data after operation is restored. See Japanese Unexamined Patent Appl. Pub. JP-A-2005-07762, for example.
However, if all of the print data in the image buffer or print buffer is cleared when an interrupt event occurs, the operator must tell the host computer to repeat the printing process for the interrupted page and the print data must be written to the buffer again in order to resume the interrupted printing process.
In order to eliminate the need for the operator to reassert the print command when an interrupt event occurs, a printing control method that saves the print data in the printer instead of clearing the print data and automatically resumes printing from where the page was interrupted when the interrupt event is corrected is also known from the literature. This printing control method is described further below with reference to FIG. 6 and FIG. 7.
The host computer described below has a spooler and a language monitor. The spooler can receive and temporarily store a plurality of print requests in a hard disk and sequentially send the print requests to a printer. Disposing a language monitor between the spooler and the printer enables bidirectional communication between the host computer and the printer. A roll paper printer that prints to roll paper is used by way of example below.
When the language monitor receives a print start request from the spooler (step S61), the language monitor checks the status of the printer and waits for a printing enabled response from the printer (step S62 and step S63). When a printing enabled response is received, the language monitor tells the spooler that preparation for the printing process is completed (step S64).
When data A for one printing unit of the print data for one print job is sent from the spooler (step S65), the language monitor temporarily stores this unit of transmitted print data A, queries the printer status again, waits for a printing enabled response (step S66 and step S67), and then sends this unit of print data A to the printer (step S68). When transmission ends, the language monitor reports the transmitted data size to the spooler (step S69). The printer that received this unit of transmitted print data A also executes the printing process.
When the data storage size report is received from the language monitor, the spooler passes the next unit of transmission data B to the language monitor (step S70). The spooler clears the previously stored transmission data A and stores the next unit of transmitted print data B that was just received. The language monitor again checks the printer status and waits for a printing enabled response (step S71, step S72), and sends the unit of print data B to the printer (step S73). The printer thus receives this next unit of print data B and continues the printing process.
If the paper runs out in the printer executing the printing process, a no-paper report is sent from the printer to the language monitor (step S74) and the language monitor retries sending the stored unit of transmission data B until the printer is restored to a printing enabled state. When roll paper is loaded into the printer, the recovery process completed, and a printing enabled response is returned to the language monitor (step S75), the language monitor resends the unit of transmitted print data B to the printer (step S76), and when transmission is completed reports the size of the transmitted data to the spooler 1 (step S77).
The printer that received the print data B continues the printing process from the beginning of the new roll of paper. More specifically, if the roll paper runs out while printing the print data for “1” on the first page 50a in FIG. 7, printing continues at the beginning of the new paper roll 50b from some point in the unit of print data (the middle of the number “1” in this example) that was being printed when the interrupt occurred. The spooler then sends the next unit of print data C (step S78), and steps S66 to S73 repeat unless another printer interrupt event occurs. When a printing termination report is received from the spooler, the language monitor executes a printing termination process (step S79), reports completion of the termination process to the spooler, and the spooler then deletes the print job.
Processes enabling the printer to automatically resume a printing process after recovering from an interrupt event are also known from the literature. Japanese Unexamined Patent Appl. Pub. JP-A-2002-91740 teaches a reprinting method that monitors the page number where the printing process is interrupted, automatically re-reads the print data from the page where printing was interrupted based on the detected page number, and resends the print data to the printer.
Japanese Unexamined Patent Appl. Pub. JP-A-H10-228358 teaches a serial printer that prints the print data for each line and simultaneously sequentially stores the print data for the one line to backup memory. If a printing interrupt event occurs, the printer reads the print data for the page where printing was interrupted from the backup memory and automatically reprints the page.
When a new roll of paper is loaded, the printing control method described in FIG. 6 resumes printing from where printing the print data (“1”) on the first page was interrupted, and the resulting printer output is therefore unusable. As a result, the first page must be printed again.
Furthermore, the reprinting method taught in JP-A-2002-91740 must monitor and store the number of the page that was being printed when the printing interrupt event occurred.
The printer taught in JP-A-H10-228358 must also have backup memory with sufficient capacity to accumulate the line by line print data sent from the host computer and store print data for one page. This inflates the manufacturing cost and power consumption by serial printers and line printers that otherwise do not need to store one page of print data, and is thus not practical.